package com.dtp.common.entity;

import cn.hutool.core.date.DateUtil;
import com.dtp.common.em.NotifyItemEnum;
import lombok.Builder;
import lombok.Data;

import java.util.concurrent.atomic.AtomicInteger;

/**
 * 报警信息实体类
 *
 * @author yanhom
 * @since 1.0.4
 *
 * @remark muse
 **/
@Data
@Builder
public class AlarmInfo {
    private NotifyItemEnum notifyItem;                          // 通知类型，请见：NotifyItemEnum
    private String lastAlarmTime;                               // 上一次报警时间
    private final AtomicInteger counter = new AtomicInteger(0); // 计数器

    /** 重置计数器（counter）和上次报警时间（lastAlarmTime） */
    public void reset() {
        lastAlarmTime = DateUtil.now();
        counter.set(0);
    }

    /** 计数器+1 */
    public void incCounter() {counter.incrementAndGet();}

    /** 获得当前计数值 */
    public int getCount() {return counter.get();}
}
